Corwin Brust [Mon, 23 Dec 2024 05:08:08 +0000 (23:08 -0600)]
* admin/nt/dist-build/emacs.nsi: (Uninstall) delete only one Emacs
Previously, the uninstaller would recursively, unconditionally, remove
the parent folder in which Emacs was installed (the folder selected by
when running the installer), into which the installer places a folder
named for the given release (e.g. emacs-30.1). This was a problem
during uinstalation when the selected folder contained other versions of
Emacs the user did not wish to remove. Additionally, deleting Start Menu
short-cuts did not work (bug#68756).
Some installer language now better reflects that users are not
required to "Accept" the GNU Public License in order to use (etc.)
Emacs (bug#67667).
Users selections related to where to create (or not create) Start Menu
shortcuts are no longer ignored. (bug#75013)
Emacs (as installed by the installer) can now be uninstalled via
Windows' Add/Remove Progrms Control Panel.
The uninstaller will now remove (empty) parent folders, both under
Program Files and (when creation of shortcuts is enabled) under the
select Start Menu location.
Eli Zaretskii [Fri, 20 Dec 2024 20:06:06 +0000 (22:06 +0200)]
Autoload 'shortdoc-help-fns-examples-function'
* lisp/help-fns.el (shortdoc-help-fns-examples-function):
Autoload, to allow adding it to
'help-fns-describe-function-functions' as advertised. (Bug#74995)
Stefan Monnier [Sun, 15 Dec 2024 22:05:55 +0000 (17:05 -0500)]
trusted-content: Adjust the last patch based on preliminary feedback
* lisp/files.el (trusted-content): Rename from `trusted-files`.
Update all references.
* lisp/progmodes/elisp-mode.el (lisp-interaction-mode):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/simple.el (read--expression): Set `trusted-content` since
these buffers contain code that the user presumably intends to run anyway.
(elisp--safe-macroexpand-all): Make the warning more discreet.
Stefan Monnier [Tue, 10 Dec 2024 21:26:31 +0000 (16:26 -0500)]
elisp-mode.el: Disable Flymake byte-compile backend in untrusted files
To address serious security issues (CVE-2024-53920), disable
`elisp-flymake-byte-compile` except in those files explicitly
specified as "trusted".
For that introduce a new custom var `trusted-files` and new
function `trusted-content-p`.
While at it, similarly skip the implicit macroexpansion done during
completion if the current file is not trusted.
* lisp/files.el (trusted-files): New variable.
(trusted-content-p): New function.
* lisp/progmodes/elisp-mode.el (elisp--safe-macroexpand-all):
New function, extracted from `elisp--local-variables`.
Use `trusted-content-p`.
(elisp--local-variables): Use it.
(elisp-flymake-byte-compile): Disable according to `trusted-content-p`.
Robert Pluim [Tue, 10 Dec 2024 13:56:21 +0000 (14:56 +0100)]
Fix 'gnus-select-method' custom type
* lisp/gnus/gnus.el (gnus-redefine-select-method-widget): Cater
for the 'gnus-search-engine' configuration variable, which takes
2 args instead of 1. (Bug#74759)
john muhl [Mon, 2 Dec 2024 15:20:01 +0000 (09:20 -0600)]
Don't restrict 'lua-ts-send-file' to 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts-send-file): Remove
restriction on interactive use. Unlike related send-* commands
it can be useful to send a file to the Lua interpreter outside of
a 'lua-ts-mode' buffer. (Bug#74705)
Robert Pluim [Tue, 3 Dec 2024 14:41:48 +0000 (15:41 +0100)]
Improve docstrings of functions for moving to message headers
* lisp/gnus/message.el (message-goto-to, message-goto-from,
message-goto-subject, message-goto-cc, message-goto-bcc,
message-goto-fcc, message-goto-reply-to,
message-goto-newsgroups, message-goto-distribution,
message-goto-followup-to, message-goto-mail-followup-to,
message-goto-keywords, message-goto-summary): Mention that these
will insert an empty header if the header is not found.
(message-position-on-field): Explain that this inserts an empty
header if the header is missing, and that insertion is done
after the headers mentioned in AFTERS.
Stephen Berman [Tue, 3 Dec 2024 09:38:26 +0000 (10:38 +0100)]
Fix the latest dabbrev-expand test fix
* test/lisp/dabbrev-tests.el (dabbrev-expand-after-killing-buffer):
In batch runs of this file, the user-error message contains curved
quotes, but grave quotes when running `make check' (so here was
evidently not passed to `substitute-command-keys'), so use grave
quotes so the test succeeds in both modes of execution.
Manuel Giraud [Mon, 2 Dec 2024 14:11:52 +0000 (15:11 +0100)]
Fix the version of librsvg API change
* src/image.c (init_svg_functions, svg_load_image): The first
official version that introduces
'rsvg_handle_get_pixbuf_and_error' is 2.59.0 not 2.58.0.
(Bug#74606)
Stephen Berman [Mon, 2 Dec 2024 12:13:39 +0000 (13:13 +0100)]
Fix latest test for dabbrev-expand
* test/lisp/dabbrev-tests.el (dabbrev-expand-after-killing-buffer):
Fix typo in a 'should' test, use part of return value of 'should-error'
test, and remove mistaken and unfounded FIXME comment.
Eshel Yaron [Sat, 30 Nov 2024 11:56:49 +0000 (12:56 +0100)]
; (dictionary-search-interface): Fix bug#74511.
* lisp/net/dictionary.el (dictionary-search-interface):
During initialization, do not override individual
customization of the other options that this option
affects (by applying the :set function), unless this option
was explicitly set.
Vincenzo Pupillo [Mon, 25 Nov 2024 10:06:02 +0000 (11:06 +0100)]
Support PHP 8.4 and more reliable indentation (bug#74525)
Added support for PHP 8.4 property hook. More reliable CSS and
Javascript syntax indentation when there are attributes in
<script> and <style>.
* lisp/progmodes/php-ts-mode.el:
(php-ts-mode--language-source-alist): Switch to the latest php
grammar.
(php-ts-mode--js-css-tag-bol): CSS and Javascript indentation is
now more more reliable in different formatting styles.
(php-ts-mode--test-property-hook-clause-p): New function that
tests property_hook support.
(php-ts-mode--font-lock-settings): Use the new function.
(php-ts-mode--colorize-css-value): The function now behaves
exactly like the one in css-ts-mode.
(php-ts-mode--feature-list): Changed the list to match
css-ts-mode.
Martin Rudalics [Thu, 28 Nov 2024 17:53:45 +0000 (18:53 +0100)]
Don't inadvertently reset frame scroll bar sizes (Bug#74435)
* src/frame.c (gui_set_scroll_bar_width)
(gui_set_scroll_bar_height): When the new size equals the old one
do not reset size to default size (Bug#74435).
Eli Zaretskii [Thu, 28 Nov 2024 14:55:26 +0000 (16:55 +0200)]
Allow to go back to using 'ruby-mode' after loading 'ruby-ts-mode'
* lisp/progmodes/ruby-ts-mode.el (major-mode-remap-defaults):
Remap 'ruby-mode' to 'ruby-ts-mode'. Add commentary.
* lisp/progmodes/ruby-mode.el (major-mode-remap-defaults): Remove
any remappings of ruby-mode'.
* lisp/progmodes/c-ts-mode.el: Fix a typo in a comment. (Bug#74339)
Stefan Kangas [Sun, 24 Nov 2024 10:27:19 +0000 (11:27 +0100)]
Delete obsolete section in admin/notes/repo
* admin/notes/repo: Delete section "How to merge changes from emacs-24
to master", which is documented in admin/notes/git-workflow. Also
delete out-of-date autoload advice.
Joost Kremers [Mon, 11 Nov 2024 22:38:49 +0000 (23:38 +0100)]
Improve documentation for 'while-let'
* doc/lispref/control.texi (Conditionals): Reorganise describing
what's overlapping between the macros (and between the macros
and let*), and then improve the documentation for 'while-let'.
Yuan Fu [Sun, 24 Nov 2024 05:39:40 +0000 (21:39 -0800)]
Remove mention of treesit-defun-prefer-top-level (bug#74474)
treesit-defun-prefer-top-level is removed before Emacs 29
released and was replaced by treesit-defun-tactic. These
statements that set it doesn't do anything other than introduce
confusion, so we should remove them.
Eli Zaretskii [Sun, 24 Nov 2024 09:27:00 +0000 (11:27 +0200)]
Fix user options for listing and marking diary files
* lisp/calendar/diary-lib.el (diary-nongregorian-listing-hook)
(diary-nongregorian-marking-hook): Add Chinese functions to the
list of variable's options. (Bug#74498)
Juri Linkov [Sat, 23 Nov 2024 18:27:39 +0000 (20:27 +0200)]
; Improve example of display-buffer-alist category in ELisp Reference
* doc/lispref/windows.texi (Choosing Window): Use 'add-to-list'
and add an example how to override display-buffer-alist entries
such as 'inhibit-same-window' by matching the window
using the 'category' condition (bug#74457).
Eli Zaretskii [Thu, 21 Nov 2024 09:47:07 +0000 (11:47 +0200)]
; More accurate documentation of 'set-mark-command'
* doc/emacs/mark.texi (Setting Mark, Global Mark Ring): Explain
that activating an existing mark doesn't set a new mark, and
doesn't push the mark onto the global mark ring. (Bug#74438)
Eli Zaretskii [Thu, 21 Nov 2024 07:43:34 +0000 (09:43 +0200)]
Fix overriding 'c-ts-mode' by 'c-mode'
* lisp/progmodes/c-ts-mode.el: Remove all c- and c++-mode
associations from 'major-mode-remap-defaults' before installing
entries that remap to 'c-ts-mode' and 'c++-ts-mode'. (Bug#74339)